package com.corpgovernment.organization.dto;

import lombok.Data;

import java.util.List;

@Data
public class SyncOrgInfoDto {

    private BasicInfo basicInfo;

    private ContactInfo contactInfo;

    private List<InvoiceInfo> invoiceInfoList;

    private List<DeliveryAddress> deliveryAddressList;

    private List<PostInfo> postInfoList;

    @Data
    public static class BasicInfo{

        /**
         * 是否删除组织
         */
        private Boolean isDelete;

        private String lineNo;

        /**
         * 组织ID，对应客户公司组织主键
         */
        private String orgId;
        /**
         * 组织名称
         */
        private String name;
        /**
         * 组织类型（C公司、D部门）
         */
        private String type;
        /**
         * 上级组织ID（顶级组织传空）
         */
        private String parentOrgId;
        /**
         * 是否启用（为空默认启用）
         */
        private Boolean isActive;
        /**
         * 业务编码
         */
        private String businessCode;
        /**
         * 父级业务编码
         */
        private String parentBusinessCode;

        private int level;
    }

    @Data
    public static class ContactInfo{
        /**
         * 联系人名字
         */
        private String contactName;
        /**
         * 联系人邮箱
         */
        private String contactEmail;
        /**
         * 电话国家码，如果传电话，不传国家码，默认中国大陆（+86中国大陆，+852中国香港，+886中国台湾，+853中国澳门）
         */
        private String contactCountryCode;
        /**
         * 联系人电话
         */
        private String contactPhone;
    }

    @Data
    public static class InvoiceInfo{
        /**
         * 发票抬头
         */
        private String invoiceTitle;
        /**
         * 纳税人识别号
         */
        private String taxId;
        /**
         * 开户行
         */
        private String accountBank;
        /**
         * 银行账号
         */
        private String accountCardNo;
        /**
         * 单位电话
         */
        private String corporationPhone;
        /**
         * 单位地址
         */
        private String corporationAddress;
    }

    @Data
    public static class DeliveryAddress{
        /**
         * 省名
         */
        private String provinceName;
        /**
         * 市名
         */
        private String cityName;
        /**
         * 区名
         */
        private String districtName;
        /**
         * 详细地址
         */
        private String address;
        /**
         * 邮编
         **/
        private String postCode;
        /**
         * 收件人姓名
         **/
        private String recipientName;
        /**
         * 收件人电话国家码
         **/
        private String recipientCountryCode;
        /**
         * 收件人电话
         **/
        private String recipientPhone;
        /**
         * 是否为默认地址
         */
        private Boolean isDefault;
    }

    @Data
    public static class PostInfo{

        private String name;
    }
}
